package com.versiFramework.core{
	import flash.events.IEventDispatcher;
	import flash.display.DisplayObject;
	import flash.utils.ByteArray;
	import flash.utils.IDataInput;
	
	import mx.core.IFlexDisplayObject;
	
	public interface IController  extends IEventDispatcher{
		function doEvent(type:String,data:*=null,target:*=null):void;
		function doFunction(fun:String,args:Array=null,target:String=null):*;
		function get name():String;
		
		
		function clone(source:Object):*
		function serializeObject(someObject:Object):ByteArray
		function deserializeObject(someByteArray:ByteArray):*
		function doPopup(popup:IFlexDisplayObject,parent:DisplayObject,modal:Boolean=true,posX:int=-1,posY:int=-1):void
		function removePopup(popup:IFlexDisplayObject):void
		function centerPopUp(popUp:IFlexDisplayObject):void
		function alertText(source:String, win:DisplayObject):void
		function alertObject(source:*, win:DisplayObject):void
		function objectLen(o:Object):uint
		function objectAppend(source1:Object,source2:Object,overwrite:Boolean=true,clone:Boolean=false):Object
		function xmlDeleteNode(xmlToDelete:XML):void
		
		
		
	}
}